package day4;

import java.util.Arrays;
import java.util.Comparator;

//数组根据类Arrays
public class Demo6 {
    public static void main(String[] args) {
        demo3();
    }
    public static void demo(){
        int nums[]={1,2,3,4,5};
        //数组不是基本数据类型，是引用类，
        //打印数组，显示在堆内存保存的地址（家庭地址），指向堆内存
        //数组不是原生类（基本类型）
        System.out.println(nums);
        String result=Arrays.toString(nums);
        System.out.println(result);
    }
    public static void demo2(){
        int[] nums={3,1,-1,9,4,6,3};
        String result=Arrays.toString(nums);
        System.out.println("排序前："+result);

        Arrays.sort(nums);
        System.out.println("排序后："+Arrays.toString(nums));
    }

    public static void demo3(){ //了解  面向对象 集合
        Integer[] nums={3,1,-1,9,3,4};
        System.out.println("排序前:"+Arrays.toString(nums));
        //...工具类排序
        //1.内部比较器 Comparable  --- 了解
        //2.外部比较器 Comparator  --- 了解
        Comparator<Integer> com=new Comparator<Integer>(){
            //根据返回int  o1-o2升序   o2-o1降序
            //int返回值>0   =0   <0
            public int compare(Integer o1, Integer o2) {
                return o2-o1;
            }
        };
        //jdk1.8 支持lambda表达式  可以描述函数式接口
        Comparator<Integer> com2=(o1,o2) -> { return o2-o1;};
        Comparator<Integer> com3=(o1,o2) -> o2-o1;

        Arrays.sort(nums,(o1,o2) -> o2-o1);
        System.out.println("排序后:"+Arrays.toString(nums));

        System.out.println(3^2);
    }
}
